package com.zx.pm.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zx.common.annotation.Excel;
import com.zx.common.core.domain.BaseEntity;

/**
 * 已完成项目信息对象 completed_project
 *
 * @author ruoyi
 * @date 2025-09-08
 */
public class CompletedProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 项目ID */
    @Excel(name = "项目ID")
    private Long projectId;

    /** 完成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date completeDate;

    /** 项目总结 */
    @Excel(name = "项目总结")
    private String summary;

    /** 项目成果 */
    @Excel(name = "项目成果")
    private String achievements;

    /** 经验教训 */
    @Excel(name = "经验教训")
    private String experience;

    /** 关键词搜索（不存储到数据库） */
    private String keyword;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId()
    {
        return projectId;
    }

    public void setCompleteDate(Date completeDate)
    {
        this.completeDate = completeDate;
    }

    public Date getCompleteDate()
    {
        return completeDate;
    }

    public void setSummary(String summary)
    {
        this.summary = summary;
    }

    public String getSummary()
    {
        return summary;
    }

    public void setAchievements(String achievements)
    {
        this.achievements = achievements;
    }

    public String getAchievements()
    {
        return achievements;
    }

    public void setExperience(String experience)
    {
        this.experience = experience;
    }

    public String getExperience()
    {
        return experience;
    }

    public void setKeyword(String keyword) 
    {
        this.keyword = keyword;
    }

    public String getKeyword() 
    {
        return keyword;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("completeDate", getCompleteDate())
            .append("summary", getSummary())
            .append("achievements", getAchievements())
            .append("experience", getExperience())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
